/*
 * @Description  : 验证是否有权限
 * @Author       : YiDing Xue
 * @Date         : 2023-01-12
 * @LastEditors  : YiDing Xue
 * @LastEditTime : 2023-03-11
 */
import { getToken, refreshAccessToken, isEmpty, isWxBrowser, wxAutoLogin } from '@/utils'
import { useUserStore } from '@/store'

export const createPermissionGuard = router => {
  router.beforeEach(async to => {
    // initWxRelated({ debuggerMode: false })
    const token = getToken()
    const userStore = useUserStore()

    if (isEmpty(token) || to.query.code) {
      // 微信自动登录逻辑
      // wxAutoLogin(to)
    }

    /** 有token的情况 无用户信息的话 */
    if (!isEmpty(token) && isEmpty(userStore.id)) {
      // 调用获取用户信息方法
      // userStore.getUserInfo()
      return true
    }

    if (to.name === 'personalCenter') {
      // 设备为浏览器登录跳转到登录页
      // if (isEmpty(userStore.id) && !isWxBrowser()) {
      //   router.replace({ name: 'login' })
      // }
      if (isEmpty(userStore.userId)) {
        router.replace({ name: 'login' })
      }
    }
    refreshAccessToken()
    return true
  })
}
